home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
lisp
/
eulisp
/
feel0_89.lha
/
Feel
/
Src
/
iset.h
< prev
next >
Wrap
Text File
|
1993-07-12
|
2KB
|
116 lines
/* Numbers for instruction set.
Used by instruct.em and bytecodes.h
*/
#define BC_NOP 0
/* Globals etc */
#define BC_PUSH_GLOBAL 1
#define BC_SET_GLOBAL 2
#define BC_PUSH_SPECIAL 3
#define BC_PUSH_STATIC 4
#define BC_PUSH_FIXNUM 5
#define BC_PUSH_SMALL_FIXNUM 6
#define BC_SET_STATIC 7
/* stack refs */
#define BC_PUSH_NTH 8
#define BC_PUSH_NTH_0 9
#define BC_PUSH_NTH_1 10
#define BC_PUSH_NTH_2 11
#define BC_PUSH_NTH_3 12
#define BC_SET_NTH 13
/* Stack abuse */
#define BC_SLIDE_STACK 14
#define BC_SLIDE_1 15
#define BC_SWAP 16
#define BC_DROP 17
#define BC_DROP_1 18
/* env reference */
#define BC_ENV_REF 19
#define BC_SET_ENV 20
#define BC_POP_ENV 21
#define BC_MAKE_ENV 22
/* object reference */
#define BC_VREF 23
#define BC_SET_VREF 24
#define BC_SLOT_REF 25
#define BC_SLOT_REF_0 26
#define BC_SLOT_REF_1 27
#define BC_SET_SLOT 28
#define BC_SET_SLOT_1 29
#define BC_SET_TYPE 30
/* Leaping merrily */
#define BC_BRANCH 31
#define BC_BRANCH_NIL 32
/* Calling things */
#define BC_APPLY_ARGS 63
#define BC_APPLY_ANY 33
#define BC_APPLY_BVF 34
#define BC_APPLY_METHODS 35
#define BC_PUSH_LABEL 36
#define BC_APPLY_CFN 60
#define BC_APPLY_METHOD_LIST 61
#define BC_APPLY_CFN2 62
/* and return */
#define BC_RETURN 37
#define BC_EXIT 38
/* allocation */
#define BC_CONS 39
#define BC_ALLOC_CLOSURE 40
#define BC_PUSH_INT 41
#define BC_ALLOC_EXT_CLOSURE 51
/* Tests */
#define BC_NULLP 42
#define BC_EQP 43
#define BC_CONSP 44
#define BC_ARG_CHECK 45
/* Reflection */
#define BC_CONTEXT 46
#define BC_ENSURE_STACK 47
/* Useful functions */
#define BC_ASSQ 48
#define BC_MEMQ 49
#define BC_SCANQ 50
/* Inline method list */
/* Arithmetic */
#define METHOD_INT_ADD 0
#define METHOD_INT_DIFF 1
#define METHOD_INT_MULT 2
#define METHOD_INT_DIV 3
#define METHOD_INT_EQUAL 4
#define METHOD_SYMBOL_EQUAL 5
/* streams */
#define METHOD_STREAM_STRING_WRITE 6
#define METHOD_STREAM_READ 7
/* slots */
#define METHOD_SLOT_REF_0 8
#define METHOD_SLOT_REF_1 9
#define METHOD_SLOT_REF_2 10
#define METHOD_SLOT_REF_3 11
#define METHOD_SLOT_SET_0 12
#define METHOD_SLOT_SET_1 13
#define METHOD_SLOT_SET_2 14
#define METHOD_SLOT_SET_3 15